﻿// 601 堆排序.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <queue>
#include <algorithm>
using namespace std;
/*
http://oj.daimayuan.top/course/7/problem/492

给你 n个整数 a1,a2,...,an
，请使用堆排序的方法把这些数字按从小到大的顺序输出。

提示: 先将所有整数插入堆，然后不停弹出堆顶元素就可以啦！

输入格式第一行一个整数 n。

接下来一行 n个整数 a1,a2,...,an。

输出格式
输出一行 n个整数表示答案。

样例输入
5
2 3 5 4 1
样例输出
1 2 3 4 5
数据规模
对于 100%的数据，保证 1≤n≤105,1≤ai≤109。
*/

priority_queue<int, vector<int>, greater<int>> q;
int n;

int main()
{
	cin >> n;
	for (int i = 0; i < n; i++) {
		int t; cin >> t;
		q.push(t);
	}

	while (!q.empty()) {
		cout << q.top() << " "; q.pop();
	}

	return 0;
}

 